const http = require('http');
const fs = require('fs');
const path = require('path');
// const express = require('express');
// const core = require('core');

// 读取文件
const svPath = (filePath,res)=>{
    fs.readFile(filePath, (err, data) => {
        if (err) {
            res.statusCode = 500;  // 如果读取文件出错，返回 500 错误
            res.end('读取文件失败！');
            return;
        }
        // 根据文件扩展名设置 Content-Type
        if (filePath.endsWith('.html')) {
            res.setHeader('Content-Type', 'text/html; charset=utf-8');
        } else if (filePath.endsWith('.css')) {
            res.setHeader('Content-Type', 'text/css; charset=utf-8');
        } else if (filePath.endsWith('.js')) {
            res.setHeader('Content-Type', 'application/javascript; charset=utf-8');
        } else if (filePath.endsWith('.json')) {
            res.setHeader('Content-Type', 'application/json; charset=utf-8');
        } else if (filePath.endsWith('.jpg') || filePath.endsWith('.jpeg')) {
            res.setHeader('Content-Type', 'image/jpeg');
        } else if (filePath.endsWith('.png')) {
            res.setHeader('Content-Type', 'image/png');
        } else if (filePath.endsWith('.gif')) {
            res.setHeader('Content-Type', 'image/gif');
        }

        // 发送数据文件
        res.end(data);
    });
}



// 创建 HTTP 服务器
const sv = http.createServer((req, res) => {
    // 获取 url
    let { pathname } = new URL(req.url,`https://${req.headers.host}`);

    if (pathname === '/' ){
        // 首页处理
        let filePath = path.join(__dirname,pathname,'public/html/index.html');
        console.log(filePath)

        // 使用方法
        svPath(filePath,res)
    } else {
        // 静态资源
        let filePath = path.join(__dirname, 'public',pathname);

        // 使用方法
        svPath(filePath,res)
    }
});

// 启动服务器并监听 3000 端口
sv.listen(3000, () => {
    console.log('Server is running at http://localhost:3000');
});